package cn.org.xwb.main.constants;

/**
 * 和邮件相关的常量类
 */
public class MailConstant {

    private MailConstant() {}

    /**
     * 登录邮箱验证码在 Redis 中存储的 key，
     * 其中 %s 需要使用邮箱填充
     */
    public static final String LOGIN_MAIL_CODE_REDIS_KEY = "xwb:main:login:mail:code:%s";

    /**
     * 获取使用邮箱填充完成后的在 Redis 中存储的登录邮箱验证码的 key
     *
     * @param mail 邮箱
     * @return Redis 键值对中的 key
     */
    public static String getLoginMailCodeRedisKey(String mail) {
        return LOGIN_MAIL_CODE_REDIS_KEY.formatted(mail);
    }

    /**
     * 用于验证用户是否可以再次获取登录邮箱验证码，在 Redis 中存储的 key，
     * 其中 %s 需要使用邮箱填充
     */
    public static final String LOGIN_MAIL_CODE_AGAIN_REDIS_KEY = "xwb:main:login:mail:code:again:%s";

    /**
     * 获取使用邮箱填充完成后的在 Redis 中存储的用于验证用户
     * 是否可以再次获取登录邮箱验证码的 key
     *
     * @param mail 邮箱
     * @return Redis 键值对中的 key
     */
    public static String getLoginMailCodeAgainRedisKey(String mail) {
        return LOGIN_MAIL_CODE_AGAIN_REDIS_KEY.formatted(mail);
    }

}
